package data

//声明一个Hero结构体切片类型
type HistorySlice []map[string]interface{}

//切片实现Interface 接口的三个方法
//1.Len() ：返回切片的大小
func (m HistorySlice) Len() int {
	return len(m)
}

//2.Less(i, j int) :决定使用什么规则进行排序
func (m HistorySlice) Less(i, j int) bool {
	sort, _ := m[i]["sort"].(string)
	x, _ := m[i][sort].(float64)
	y, _ := m[j][sort].(float64)
	if m[i]["order"] == 1 {
		return x < y
	} else {
		return x > y
	}

}

//3.Swap(i, j int) :Less(i, j int)返回true时进行交换
func (m HistorySlice) Swap(i, j int) {
	m[i], m[j] = m[j], m[i]
}
